---
description: "Reference for Nitric's Python library - Creates a new key value store to get, set, and delete key value pairs."
---

# Python - kv()

<Note>
  This is reference documentation for the Nitric Python SDK. To learn about
  Key/Value Stores in Nitric start with the [Key/Value Store docs](/keyvalue).
</Note>

Creates a new key value store to get, set, and delete key value pairs.

```python
from nitric.resources import kv
from nitric.application import Nitric

profiles = kv('profiles').allow('get', 'set', 'delete')

Nitric.run()
```

## Parameters

<Properties>
  <Property name="name" required type="string">
    The unique name of this key value store within the service. Subsequent calls
    to `kv` with the same name will return the same object.
  </Property>
</Properties>

## Access

All Nitric resources provide access permissions you can use to specify the level of access your service needs to the resource. See here for details about infrastructure [security](/get-started/foundations/infrastructure/security).

### Available permissions:

---

**get**

This permission allows your service to get values from the key value store.

---

**set**

This permission allows your service to set key value pairs in the key value store.

---

**delete**

This permission allows your service to delete key value pairs in the key value store.

---

## Examples

### Create a key value store

```python
from nitric.resources import kv
from nitric.application import Nitric

profiles = kv('profiles').allow('get', 'set', 'delete')

Nitric.run()
```

### Get value from a key value store

```python
from nitric.resources import kv
from nitric.application import Nitric

profiles = kv('profiles').allow('get')

profile = await profiles.get('profile-1a2b3c')

Nitric.run()
```

### Set a key in a key value store

```python
from nitric.resources import kv
from nitric.application import Nitric

profiles = kv('profiles').allow('set')

await profiles.set('profile-1a2b3c', { 'name': 'John Smith' })

Nitric.run()
```

### Delete a key from a key value store

```python
from nitric.resources import kv
from nitric.application import Nitric

profiles = kv('profiles').allow('delete')

await profiles.delete('profile-1a2b3c')

Nitric.run()
```
